Software applications that are used in conjunction with databases, such as databases containing business data, process large amounts of data at runtime. For instance, a user may employ a user interface (UI) application, which may be referred to as a consumer application, to view entries in a database. For example, a consumer application may be used to view employee records in a corporate database. In another example, a consumer application may be used to view entries in telephone directory for a city or geographic region. Such databases may contain extremely large numbers of records or entries.
In current approaches, when a consumer application accesses a database with a query, all the records matching that query are typically transferred to the consumer application for runtime storage on a local computer on which the consumer application is running. Depending on the size of the database and the terms of the database query, the amount of data transferred for runtime storage can be quite large. In cases where a user is only interested in viewing a single record or a small subset of the records matching his or her initial query, the majority of the bandwidth and memory utilized to transfer and store the records for runtime is wasted and could be used for other applications running on the local computer and over a network connecting the consumer application and the database.